message: Fix the bug: panelState property does not work well in PanelDynamic in vue version,
diff: </h4>
  <div v-show="hasDescription" :class="css.panel.description"><survey-string :locString="question.locDescription"/></div>
  <survey-errors :question="question"/>
  - <div :style="{ paddingLeft: getIndentSize(question, question.innerIndent) }" v-show="!question.isCollapsed">
  + <div :style="{ paddingLeft: getIndentSize(question, question.innerIndent) }" v-show="!isCollapsed">
  <div v-for="(row, index) in rows" :key="question.id + '_' + index" v-if="row.visible" :class="css.row">
  <survey-row :row="row" :survey="survey" :css="css"></survey-row>
  </div>
  @@ -28,11 +28,19 @@ export class Panel extends Vue {
  @Prop question: PanelModel;
  @Prop isEditMode: Boolean;
  @Prop css: any;
  + private isCollapsedValue: boolean = false;
  mounted() {
  if (this.question.survey) {
  this.question.survey.afterRenderPanel(this.question, this.$el);
  }
  + this.isCollapsed = this.question.isCollapsed;
  + var self = this;
  + this.question.registerFunctionOnPropertyValueChanged("state", function(
  + val
  + ) {
  + self.isCollapsed = self.question.isCollapsed;
  + });
  }
  get rootStyle() {
  var result = {};
  @@ -60,9 +68,15 @@ export class Panel extends Vue {
  }
  get iconCss() {
  var result = "sv_panel_icon";
  - if (!this.question.isCollapsed) result += " sv_expanded";
  + if (!this.isCollapsed) result += " sv_expanded";
  return result;
  }
  + get isCollapsed() {
  + return this.isCollapsedValue;
  + }
  + set isCollapsed(val: boolean) {
  + this.isCollapsedValue = val;
  + }
  changeExpanded() {
  if (this.question.isCollapsed || this.question.isExpanded) {
  if (this.question.isCollapsed) {
  @@ -79,7 +93,6 @@ export class Panel extends Vue {
  }
  return result;
  }
  -
  }
  Vue.component("survey-panel", Panel);
  export default Panel;
  