第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

使用表單的響應(yīng)將數(shù)據(jù)集屬性保存在 JSON 文件中 (Vue.js)

使用表單的響應(yīng)將數(shù)據(jù)集屬性保存在 JSON 文件中 (Vue.js)

守著星空守著你 2023-09-21 17:00:05
我正在嘗試構(gòu)建一個(gè) JSON 文件,在其中存儲表單中的所有答案。一些輸入具有額外的數(shù)據(jù)集屬性(數(shù)據(jù)標(biāo)簽)。當(dāng)我保存表單時(shí),我想提取 JSON 文件中的所有這些“標(biāo)簽”作為鍵,并作為輸入值的值。我嘗試通過添加對這些輸入的引用并使用 $refs 獲取標(biāo)簽的名稱來做到這一點(diǎn)。我收到錯誤:v-on 處理程序中出現(xiàn)錯誤:“TypeError:無法讀取未定義的屬性‘push’”我目前正在嘗試將“標(biāo)簽”存儲在單獨(dú)的數(shù)組中,然后將其附加到表單輸出中。不確定這是否是正確的解決方案,但我想不出其他任何東西,所以如果您有任何其他想法,請隨意。Vue.js 版本:2.6vuetify.js 版本:2.3表單輸入:<v-text-field label="ICD" id="pos_t_1" name="pos_t_1" ref="icd" data-tag="icd_tag" v-   model="textfield" hide-details="auto" /><v-radio-group v-model="radio" hide-details="auto" row>  <v-radio    v-for="radio in group"    ref="radioGroup"    :key="radio.id"    :id="radio.id"    :name="radio.id"    color="primary"    :data-tag="radio.tag"    :label="radio.text"    :value="radio.text"  > </v-radio></v-radio-group>腳本:export default Vue.extend({name: 'Test',data: function () {    return {        tags: [],        radio: '',        group: [            {id: 'pos_r_2', text: 'Radio 1', tag: 'radio_tag_2'},            {id: 'pos_r_3', text: 'Radio 2', tag: 'radio_tag_3'},            {id: 'pos_r_4', text: 'Radio 3', tag: 'radio_tag_4'},            {id: 'pos_r_5', text: 'Radio 4', tag: 'radio_tag_5'},        ],    }},methods: {    onSubmit() {        Object.keys(this.$refs).forEach((value) => {           const refs = this.$refs[value];           if (Array.isArray(refs)) {               for (let i = 0; i <= this.$refs[value].length; i++) {                   let key = this.$refs[value][i].$attrs['data-tag']                   this.tags[key].push(this.radio)               }           } else {               let key = this.$refs[value].$attrs['data-tag']               this.tags[key].push(this.textfield)           }        })    }}})表單的 JSON 結(jié)構(gòu):  [{     "pos_t_1":"Test",     "pos_r_2":"",     "pos_r_3":"Radio 3",     "pos_r_4":"",     "pos_r_5":"",  }],我想要的 JSON 結(jié)構(gòu):  [{     "pos_t_1":"Test",     "icd_tag":"Test",     "pos_r_2":"",     "radio_tag_2":"",     "pos_r_3":"Radio 3",     "radio_tag_3":"Radio 3",     "pos_r_4":"",     "radio_tag_4":"",     "pos_r_5":"",     "radio_tag_5":"",  }],
查看完整描述

2 回答

?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊

當(dāng)您嘗試推送到空數(shù)組時(shí),您無法推送到指定的鍵,因?yàn)樗淮嬖凇?/p>


因此,當(dāng)您聲明tags = []然后嘗試推送tags[key].push(value)標(biāo)簽時(shí),[key] 未定義,因此推送方法不可用


相反,您可以更改 onSubmit 方法,如下所示


onSubmit() {

        Object.keys(this.$refs).forEach((value) => {

           const refs = this.$refs[value];

           if (Array.isArray(refs)) {

               for (let i = 0; i <= this.$refs[value].length; i++) {

                   let key = this.$refs[value][i].$attrs['data-tag']

                   this.tags[key] = this.radio

               }

           } else {

               let key = this.$refs[value].$attrs['data-tag']

               this.tags[key] = this.textfield

           }

        })

    }


查看完整回答
反對 回復(fù) 2023-09-21
?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊

我這樣做了:


            Object.keys(this.$refs).forEach((value) => {

            const refs = this.$refs[value];

            if (Array.isArray(refs)) {

                for (let i = 0; i < refs.length; i++) {

                    let key = refs[i].$attrs['data-tag']

                    if (refs[i].isActive === true) {

                        this.tags[key] = this.radio

                    }

                    else {

                        this.tags[key] = ''

                    }

                }

            } else {

                let key = refs.$attrs['data-tag']

                this.tags[key] = this.textfield

            }

        })

也許這也會對其他人有所幫助。


查看完整回答
反對 回復(fù) 2023-09-21
  • 2 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號