質問編集履歴
2
質問への追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -118,4 +118,24 @@
|
|
118
118
|
|3|Tokyo|
|
119
119
|
|4|Nagoya|
|
120
120
|
|
121
|
-
改めて、「更新」ボタンのテキストを「登録」に変更するにはどうしたらいいでしょうか?
|
121
|
+
改めて、「更新」ボタンのテキストを「登録」に変更するにはどうしたらいいでしょうか?
|
122
|
+
|
123
|
+
|
124
|
+
ご質問にありました、ログの結果は以下の通りです。
|
125
|
+
(5) [Array(2), Array(2), Array(2), Array(2), "0", __ob__: Observer]
|
126
|
+
0: Array(2)
|
127
|
+
0: 1
|
128
|
+
1: "Sapporo"
|
129
|
+
length: 2
|
130
|
+
__ob__: Observer {value: Array(2), dep: Dep, vmCount: 0}
|
131
|
+
__proto__: Array
|
132
|
+
1: (2) [2, "Nagoya", __ob__: Observer]
|
133
|
+
2: (2) [3, "Mito", __ob__: Observer]
|
134
|
+
3: (2) [4, "Tokyo", __ob__: Observer]
|
135
|
+
4: "0"
|
136
|
+
length: 5
|
137
|
+
__ob__: Observer {value: Array(5), dep: Dep, vmCount: 0}
|
138
|
+
__proto__: Array
|
139
|
+
|
140
|
+
新規追加されたのは、「4:"0"」になります。
|
141
|
+
ブラウザのコンソールから出力しているので、余計な要素が付いておりますが、ご容赦ください。
|
1
修正依頼に基づいて、これを修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,9 +5,13 @@
|
|
5
5
|
pushメソッドを使用することで行を追加することができたのですが、上記テーブル要素をそのまま複製したような行が追加され、Buttonの中身を変更することができませんでした。
|
6
6
|
公式リファレンスを読んだのですが、pushメソッドに何を入れるのかが書いてなかったので、理解しかねている状態です。
|
7
7
|
左が追加ボタンを押す前、右が追加ボタンを押した後になります。
|
8
|
-

|
9
9
|
|
10
|
+
その際、追加された行のボタンのテキストが「更新」と表示されます。
|
11
|
+
自分が使用するのなら問題ないのですが、このツールは他者が使用することを前提としているので、
|
12
|
+
更新のままですと誤解の原因になりかねないので、「登録」と変更したいです。
|
10
13
|
|
14
|
+
|
11
15
|
以下が実際のコードになります。
|
12
16
|
Javascriptの方はバッググランドで動いているgsファイルになります。
|
13
17
|
```js
|
@@ -16,6 +20,7 @@
|
|
16
20
|
return html.evaluate();
|
17
21
|
}
|
18
22
|
|
23
|
+
// スプレットシートに登録しているデータをWEB上に表示
|
19
24
|
const importRecords = () => {
|
20
25
|
const sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
|
21
26
|
const values = sh.getRange(1, 1, sh.getLastRow(), sh.getLastColumn()).getValues();
|
@@ -24,6 +29,7 @@
|
|
24
29
|
return values;
|
25
30
|
}
|
26
31
|
|
32
|
+
// WEB上から入力された情報をスプレットシートに反映
|
27
33
|
const updateRecords = (id, text) => {
|
28
34
|
const sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
|
29
35
|
const values = sh.getRange(1, 1, sh.getLastRow(), sh.getLastColumn()).getValues();
|
@@ -32,6 +38,7 @@
|
|
32
38
|
const idx = idxes.indexOf(Number(id));
|
33
39
|
sh.getRange(idx + 1, 2).setValue(text);
|
34
40
|
|
41
|
+
// 他ユーザーが変更した内容を反映するのに、再描画を実施
|
35
42
|
return importRecords();
|
36
43
|
}
|
37
44
|
```
|
@@ -56,6 +63,7 @@
|
|
56
63
|
</tr>
|
57
64
|
<tr v-for="(row, index) in rows" :key="index">
|
58
65
|
<td>
|
66
|
+
<!-- スプレッドシートの第一列をプライマリーキーと設定し、それを非表示にしている -->
|
59
67
|
<input v-model='rows[index][0]' type="hidden" />
|
60
68
|
<input v-model='rows[index][1]' />
|
61
69
|
</td>
|
@@ -93,7 +101,7 @@
|
|
93
101
|
vm.message = "Error";
|
94
102
|
}).updateRecords(inputData[0].value, inputData[1].value);
|
95
103
|
},"append": async function(){
|
96
|
-
vm.rows.push("0");
|
104
|
+
vm.rows.push("0"); // ここの処理がよくわからない
|
97
105
|
}
|
98
106
|
}
|
99
107
|
});
|
@@ -110,4 +118,4 @@
|
|
110
118
|
|3|Tokyo|
|
111
119
|
|4|Nagoya|
|
112
120
|
|
113
|
-
改めて、「更新」ボタンのテキストを「
|
121
|
+
改めて、「更新」ボタンのテキストを「登録」に変更するにはどうしたらいいでしょうか?
|