el-table 嵌套 el-select

  • 數(shù)據(jù)格式
{
    "code": 200,
    "message": "成功",
    "data": {
        "taskList": [{
            "taskId": 17,
            "taskModelPath": null,
            "userId": 1,
            "word": "測試一下",
            "taskStatus": 1,
            "recordFileNameArray": "[\"1_11_17_record1.wav\",\"1_11_17_record2.wav\",\"1_11_17_record3.wav\",\"1_11_17_record4.wav\",\"1_11_17_record5.wav\",\"1_11_17_record6.wav\",\"1_11_17_record7.wav\",\"1_11_17_record8.wav\",\"1_11_17_record9.wav\"]",
            "recordFilePath": "http://地址/record//",
            "unqualifiedReason": null,
            "taskCreateTime": "2020-09-23 03:17:44",
            "taskOngoingTime": null,
            "taskCompleteTime": null
        }, {
            "taskId": 18,
            "taskModelPath": null,
            "userId": 1,
            "word": "巴拉巴拉",
            "taskStatus": 1,
            "recordFileNameArray": "[\"1_14_26_record1.wav\",\"1_14_26_record2.wav\",\"1_14_26_record3.wav\",\"1_14_26_record4.wav\",\"1_14_26_record5.wav\",\"1_14_26_record6.wav\",\"1_14_26_record7.wav\",\"1_14_26_record8.wav\",\"1_14_26_record9.wav\"]",
            "recordFilePath": "http://地址/record//",
            "unqualifiedReason": null,
            "taskCreateTime": "2020-09-23 06:26:33",
            "taskOngoingTime": null,
            "taskCompleteTime": null
        }],
        "total": 2
    }
}
  • 效果


    image.png
  • 需求
    recordFileNameArray參數(shù)中返回可選擇的錄音名婆硬,recordFilePath參數(shù)中返回地址
    el-select中選擇不同的錄音名,點擊播放按鈕拼接地址和錄音名查吊,使用Audio播放錄音

  • 遇到問題

  1. el-selectv-model為選中的內(nèi)容逻卖,而列表中每一行都是不一樣的虚茶,所以要在參數(shù)列表中新增元素用于指定該行選中的內(nèi)容
then(response => {
            let data = JSON.parse(JSON.stringify(response.data)).data
            this.list = data.taskList
            // 遍歷列表,新增 audioName 參數(shù)指向當(dāng)前選中的值
            for (var i = 0; i < this.list.length; i++) {
              this.list[i].audioName = this.getRecordList(this.list[i].recordFileNameArray)[0];
            }

            this.totalPage = data.total
})


<el-table-column label="錄音" align="center">
  <template slot-scope="scope">
<!-- 使用 scope.row.audioName 作為model -->
    <el-select v-model="scope.row.audioName" placeholder="請選擇">
      <el-option
        v-for="(item) in getRecordList(scope.row.recordFileNameArray)"
        :key="item"
        :value="item">
      </el-option>
    </el-select>
    <el-button size="mini" @click="handlePlayAudio(scope.row)">播放</el-button>
  </template>
</el-table-column>
  1. 類似 el-select 等表單元素綁定了 類似 a.b 之類的屬性婆殿,而不是直接的一級屬性的話婆芦,當(dāng)這個屬性發(fā)生更改的時候,它的顯示效果可能不會動態(tài)地進(jìn)行更新肠鲫,這個時候需要使用 Vue.$set 來進(jìn)行更改 - https://www.cnblogs.com/wbyixx/p/12024643.html
<el-table-column label="錄音" align="center">
  <template slot-scope="scope">
    <!-- 更新 scope.row.audioName 的值為它自身-->
    <el-select v-model="scope.row.audioName" placeholder="請選擇" @change="$set(list,scope.row.audioName,scope.row.audioName)">
      <el-option
        v-for="(item) in getRecordList(scope.row.recordFileNameArray)"
        :key="item"
        :value="item">
      </el-option>
    </el-select>
    <el-button size="mini" @click="handlePlayAudio(scope.row)">播放</el-button>
  </template>
</el-table-column>
  • 實現(xiàn)
    html
<el-table-column label="錄音" align="center">
  <template slot-scope="scope">
    <el-select v-model="scope.row.audioName" placeholder="請選擇" @change="$set(list,scope.row.audioName,scope.row.audioName)">
      <el-option
        v-for="(item) in getRecordList(scope.row.recordFileNameArray)"
        :key="item"
        :value="item">
      </el-option>
    </el-select>
    <el-button size="mini" @click="handlePlayAudio(scope.row)">播放</el-button>
  </template>
</el-table-column>

script
請求數(shù)據(jù)

getList () {
  this.$axios.post(this.HOST + 'task/getAllTaskList', {
    limit: this.listQuery.pageSize,
    page: this.listQuery.pageNum
  })
    .then(response => {
      let data = JSON.parse(JSON.stringify(response.data)).data
      this.list = data.taskList

      for (var i = 0; i < this.list.length; i++) {
        this.list[i].audioName = this.getRecordList(this.list[i].recordFileNameArray)[0];
      }

      this.totalPage = data.total
    }).catch(error => {
  }).finally(() => {
    this.listLoading = false
  })
},

格式化recordFileNameArray參數(shù)

getRecordList (recordFileNameArray) {
  return JSON.parse(recordFileNameArray)
},
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末硝岗,一起剝皮案震驚了整個濱河市型檀,隨后出現(xiàn)的幾起案子听盖,更是在濱河造成了極大的恐慌皆看,老刑警劉巖悬蔽,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝎困,死亡現(xiàn)場離奇詭異禾乘,居然都是意外死亡始藕,警方通過查閱死者的電腦和手機伍派,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門祥国,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事壁查∷龋” “怎么了嫉到?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵何恶,是天一觀的道長惜辑。 經(jīng)常有香客問我疫赎,道長捧搞,這世上最難降的妖魔是什么胎撇? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任晚树,我火速辦了婚禮慨亲,結(jié)果婚禮上宝鼓,老公的妹妹穿的比我還像新娘愚铡。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锻全,像睡著了一般鳄厌。 火紅的嫁衣襯著肌膚如雪妈踊。 梳的紋絲不亂的頭發(fā)上廊营,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天露筒,我揣著相機與錄音慎式,去河邊找鬼瘪吏。 笑死肪虎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的刑枝。 我是一名探鬼主播装畅,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼掠兄,長吁一口氣:“原來是場噩夢啊……” “哼蚂夕!你這毒婦竟也來了婿牍?” 一聲冷哼從身側(cè)響起等脂,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤上遥,失蹤者是張志新(化名)和其女友劉穎粉楚,沒想到半個月后解幼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撵摆,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡特铝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了灵莲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片政冻。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡明场,死狀恐怖逼泣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嗜憔,我是刑警寧澤砍的,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站谣旁,受9級特大地震影響榄审,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜浪感,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一影兽、第九天 我趴在偏房一處隱蔽的房頂上張望峻堰。 院中可真熱鬧盅视,春花似錦闹击、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瑰枫。三九已至,卻和暖如春尸诽,著一層夾襖步出監(jiān)牢的瞬間性含,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留苛谷,地道東北人格郁。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓例书,卻偏偏與公主長得像决采,于是被迫代替她去往敵國和親织狐。 傳聞我的和親對象是個殘疾皇子移迫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348