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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【React.js模仿大眾點(diǎn)評(píng)webapp】實(shí)戰(zhàn)教程(14)評(píng)價(jià)功能

標(biāo)簽:
JavaScript React.JS
订单评价的开发

源码:购买实战课程后,在播放视频页面右侧可查看到章节源代码。

最终效果

三个状态

一个简单的“评价”功能,就需要三个状态来管理

  • 未评价:用户还没有评价,此时应该显示“评价”按钮,点击之后可以评价
  • 评价中:用户点击了“评价”按钮,还未写完评价内容。此时“评价”按钮应该暂时隐藏掉
  • 已评价:用户已经评价完成并提交了,此时应该显示“已评价”,并且不可点击

我们通过一个state来保存这三个状态

           {
                this.state.commentState === 0
                // 未评价
                ? <button className="btn" onClick={this.showComment.bind(this)}>评价</button>
                :
                    this.state.commentState === 1
                    // 评价中
                    ? ''
                    // 已经评价
                    : <button className="btn unseleted-btn">已评价</button>
            }
评价状态的来源

一个订单,最初显示的时候到底处于这三个状态中的哪一个?得有一个数据来源。这个来源就是后端接口返回的数据。在Item组件中,我们通过获取传递过来的状态信息,更新到state中,这就是来源。

    componentDidMount() {
        // 将状态维护到 state 中
        this.setState({
            commentState: this.props.data.commentState
        })
    }
显示和隐藏评价输入框

要评价就得让用户输入内容,输入内容就得有一个<textarea>。这个<textarea>的显示和隐藏,也需要评价状态的控制。

  • 未评价:隐藏
  • 评价中:显示
  • 已评价:隐藏

{
    // “评价中”才会显示输入框
    this.state.commentState === 1
    ? <div className="comment-text-container">
        <textarea>
點(diǎn)擊查看更多內(nèi)容
12人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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

舉報(bào)

0/150
提交
取消